package com.carbon.assets.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.carbon.assets.entity.*;
import com.carbon.assets.param.CarbonDataSubmissionQueryParam;
import com.carbon.assets.param.CarbonProjectAddParam;
import com.carbon.assets.param.CarbonProjectOwnerDataParam;
import com.carbon.assets.vo.*;
import com.carbon.common.service.BaseService;
import com.carbon.assets.param.CarbonProjectQueryParam;
import com.carbon.common.api.Paging;
import com.carbon.domain.common.ApiResult;
import org.springframework.web.bind.annotation.RequestBody;

import javax.validation.Valid;
import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 碳减排项目 服务类
 * </p>
 *
 * @author Li Jun
 * @since 2021-07-31
 */
public interface CarbonProjectService extends BaseService<CarbonProject> {

    Page<CarbonProject> selectBySelector(Page<CarbonProject> page, SelectorVo selectorVo);

    IPage<CarbonProject> queryProjectList(Page<CarbonProject> pagination, String projectName, Long tenantId);


    projectStats fetchProjectStats(String tenantId);

    List<ProjectByType> fetchTradeData(Long tenantId);
}
